Circle::Circle(const Circle &c) :
		RigidBody(c), _radius(c._radius)
{
}

Circle::Circle(const vector3 &pos, const vector3 &vel, scalar radius, scalar mass, scalar elasticity) :
		RigidBody(pos, vel, mass, elasticity), _radius(radius)
{
}

Circle::Circle(scalar radius, scalar mass, scalar elasticity) :
		RigidBody(mass, elasticity), _radius(radius)
{
}

vector3 Circle::doGetSupport(const vector3 &v) const
{
	return _position + (v * _radius / magnitude(v));
}

void Circle::integrate(scalar time)
{
	if (_mass) _position += (_velocity * time);
}

scalar Circle::radius() const
{
	return _radius;
}

void Circle::radius(scalar r)
{
	_radius = r;
}
